from http.client import responses

from django.shortcuts import render, redirect
from .forms import MyForm
from django.http import JsonResponse, HttpResponse
import json

def handle_form(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            # 处理表单数据
            name = form.cleaned_data['name']
            email = form.cleaned_data['email']
            print(f"姓名: {name}, 邮箱: {email}")
            # 这里可以添加保存数据到数据库等操作
            return redirect('success')  # 重定向到成功页面
    else:
        form = MyForm()
    return render(request, 'form.html', {'form': form})

def success(request):
    return render(request, 'success.html')


# 定义处理 POST JSON 请求的视图函数
def handle_post_json(request):
    if request.method == 'POST':
        try:
            # 解析请求中的 JSON 数据
            data = json.loads(request.body)
            # 这里可以对数据进行处理，例如保存到数据库
            # 示例：返回一个包含接收到的数据的响应
            return JsonResponse({'message': '数据接收成功', 'data': data}, status=200)
        except json.JSONDecodeError:
            return JsonResponse({'error': '无效的 JSON 数据'}, status=400)
    else:
        return JsonResponse({'error': '仅支持 POST 请求'}, status=405)


def restful_api(request):
    if request.method == 'POST':
        try:
            # 解析请求中的 JSON 数据
            data = json.loads(request.body)
            print(data)
            # 简单示例：返回接收到的数据
            response_data = {
                'status': 'success',
                'message': '数据接收成功',
                'data': data
            }
            return JsonResponse(response_data, status=200)
        except json.JSONDecodeError:
            return JsonResponse({'status': 'error', 'message': '无效的 JSON 数据'}, status=400)
    else:
        return JsonResponse({'status': 'error', 'message': '仅支持 POST 请求'}, status=405)


def index(request):
    # 直接将hello world 显示在页面上
    return render(request, 'index.html')